@charset "utf-8";

/* 漢字標準格式
 * Standard Han Format
 *
 * Version: 1.2
 * Lisence: MIT Lisence
 * Last-Modified: 2011/12/22
 */


/* 手動設定字體 */
/* 漢字手寫體（cursive） */
@font-face {
    font-family: ff-cursive-han;
    src: local(STFangsong), local(STKaiti), local(Kai), local("標楷體"), local(DFKaiShu-SB-Estd-BF);
}

@font-face {
    /* 襯線西文斜體字型 */
    font-family: ff-latin-serif-italic;
    src: local("Times New Roman Italic") /* for Gecko */, local("TimesNewRomanPS-ItalicMT") /* for Webkit */, local("Times-Italic");
}

@font-face {
    /* 無襯線西文斜體字型 */
    font-family: ff-latin-sans-italic;
    src: local("Helvetica Oblique") /* for Gecko */, local("Helvetica-LightOblique") /* for Webkit */, local("Arial Italic") /* for Windows */, local("Arial-ItalicMT");
}

@font-face {
    /* 出自教育部標準楷書之注音字符 */
    font-family: ff-zhuyin;
    src: url(zhuyin.eot) /* for MsIE */; 
}

@font-face {
    /* 出自教育部標準楷書之注音字符 */
    font-family: ff-zhuyin;
    src: url(zhuyin.ttf); 
}


/* ---------------------------------------
   目前已被廣泛使用的CSS reset
   修改自Nicolas Gallagher撰寫的normalize.css
   --------------------------------------- 
   normalize.css 2011-11-04T15:38 UTC - http://github.com/necolas/normalize.css */

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

/*
 * Corrects block display not defined in IE6/7/8/9 & FF3
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

/*
 * Corrects inline-block display not defined in IE6/7/8/9 & FF3
 */

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

/*
 * Prevents modern browsers from displaying 'audio' without controls
 */

audio:not([controls]) {
    display: none;
}

/*
 * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
 * Known issue: no IE6 support
 */

[hidden] {
    display: none;
}


/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 */

html {
    font-size: 100%; /* 1 */
    overflow-y: scroll; /* 2 */
    -webkit-text-size-adjust: 100%; /* 3 */
    -ms-text-size-adjust: 100%; /* 3 */
}

/*
 * Addresses margins handled incorrectly in IE6/7
 */

body {
    margin: 0;
}

/* 
 * Addresses font-family inconsistency between 'textarea' and other form elements.
 */

body,
button,
input,
select,
textarea {
    font-family: sans-serif;
}


/* =============================================================================
   Links
   ========================================================================== */

/*
 * Addresses outline displayed oddly in Chrome
 */

a:focus {
    outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers
 * people.opera.com/patrickl/experiments/keyboard/test
 */

a:hover,
a:active {
    outline: 0;
}


/* =============================================================================
   Typography
   ========================================================================== */

/*
 * Neutralise smaller font-size in 'section' and 'article' in FF4+, Chrome, S5
 */

h1 {
    font-size: 2em;
}

/*
 * Addresses styling not present in IE7/8/9, S5, Chrome
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/*
 * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
*/

b, 
strong { 
    font-weight: bold; 
}

blockquote {
    margin: 1em 40px;
}

/*
 * Addresses styling not present in S5, Chrome
 */

dfn {
    font-style: italic;
}

/*
 * Addresses styling not present in IE6/7/8/9
 */

mark {
    background: #ff0;
    color: #000;
}

/*
 * Corrects font family set oddly in IE6, S4/5, Chrome
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59
 */

pre,
code,
kbd,
samp {
    font-family: monospace, serif;
    _font-family: 'courier new', monospace;
    font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers
 */

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/*
 * 1. Addresses CSS quotes not supported in IE6/7
 * 2. Addresses quote property not supported in S4
 */

/* 1 */

q {
    quotes: none;
}

/* 2 */

q:before,
q:after {
    content: '';
    content: none;
}

small {
    font-size: 75%;
}

/*
 * Prevents sub and sup affecting line-height in all browsers
 * gist.github.com/413930
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}


/* =============================================================================
   Lists
   ========================================================================== */

ul,
ol {
    margin-left: 0;
    padding: 0 0 0 40px;
}

dd {
    margin: 0 0 0 40px;
}

nav ul,
nav ol {
    list-style: none;
    list-style-image: none;
}


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */

img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9 
 */

svg:not(:root) {
    overflow: hidden;
}


/* =============================================================================
   Figures
   ========================================================================== */

/*
 * Addresses margin not present in IE6/7/8/9, S5, O11
 */

figure {
    margin: 0;
}


/* =============================================================================
   Forms
   ========================================================================== */

/*
 * Corrects margin displayed oddly in IE6/7
 */

form {
    margin: 0;
}

/*
 * Define consistent border, margin, and padding
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects alignment displayed oddly in IE6/7
 */

legend {
    border: 0; /* 1 */
    *margin-left: -7px; /* 2 */
}

/*
 * 1. Corrects font size not being inherited in all browsers
 * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
 * 3. Improves appearance and consistency in all browsers
 */

button,
input,
select,
textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    *vertical-align: middle; /* 3 */
}

/*
 * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
 */

button,
input {
    line-height: normal; /* 1 */
}

/*
 * 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *    Known issue: inner spacing remains in IE6
 */

button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
    cursor: pointer; /* 1 */
    -webkit-appearance: button; /* 2 */
    *overflow: visible;  /* 3 */
}

/*
 * 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/*
 * Removes inner padding that is displayed in S5, Chrome on OS X
 */

input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/*
 * Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}


/* =============================================================================
   Tables
   ========================================================================== */

/* 
 * Remove most spacing between table cells
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/* =============================================================================
   Optimised for SHF
   ========================================================================== */
dfn {
    font-style: normal;
    font-weight: bolder;
}


/*
 * Improves readability of code blocks
 */
pre code {
    display: block;
    overflow: auto;
    white-space: pre;
    word-wrap: normal;
}





/* ---------------------------------------
   專為漢字加入（或取消）的預設樣式
   --------------------------------------- */

/* 連結、插入標籤取消下劃線（anchors, inserts without underlines） */
html:lang(zh) a:link,
html:lang(zh) a:visited,
html:lang(zh) a:hover,
html:lang(zh) a:active,
html:lang(zh) ins {
    text-decoration: inherit;
}

html:lang(zh) ins {
    border-bottom: 3px double lightgray;
}


/* 兩相鄰底線元素（u+u） */
u:lang(zh) {
    letter-spacing: 0;
}

u + u {
    margin-left: .125em;
}

/* 舊版專名號（b.pn） */
b.pn {
    font-weight: inherit;
}

b.pn:lang(zh) {
    border-bottom: 1px solid;
    padding-bottom: -0.05em;
    text-decoration: none;
}

b.pn:lang(zh-latn) {
    border: inherit;
}

b.pn:lang(zh) + b.pn:lang(zh) {
    margin-left: .1em;
}


/* 文章內段落、標題 */
article h4, article h5 {
    margin: 1em 0 .5em 0;
}

article h4 + h5 {
    margin-top: -.5em;
}

article p, article li {
    line-height: 2;
    text-align: justify;
}


article p {
    margin: 0;
}

article p:before {
    content: "        ";
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
}

article:lang(zh) p:before {
    content: "　　";
}

article:lang(ja) p:before {
    content: "　";
}

article:lang(zh) p.poem-like:before,
article:lang(zh).poem-like p:before,
blockquote:lang(zh).poem-like p:before,
article:lang(ja) p.poem-like:before,
article:lang(ja).poem-like p:before,
blockquote:lang(ja).poem-like p:before {
    content: "";
}

article:lang(zh) p.poem-like,
article:lang(zh).poem-like p,
blockquote:lang(zh).poem-like p,
article:lang(ja) p.poem-like,
article:lang(ja).poem-like p,
blockquote:lang(ja).poem-like p {
    margin-left: 2em;
}


/* 書名號（cite） */

/*
 * 1. Corrects font fallback
 */

cite:lang(zh), cite:lang(ja),
cite:lang(en).piece {
    font-style: inherit;
}

cite:lang(zh):before,
cite:lang(zh):after {
    content: "《";
    font-family: "Hiragino Mincho Pro", "LiSong Pro", STSong, "微軟正黑體", PMingLiU, serif; /* 1 */
    line-height: inherit;
}

cite:lang(zh):after {
    content: "》";
}

cite:lang(zh).piece:before {
    content: "〈";
}

cite:lang(zh).piece:after {
    content: "〉";
}

cite:lang(ja):before {
    content: "『";
}

cite:lang(ja):after {
    content: "』";
}

cite:lang(ja).piece:before {
    content: "「";
}

cite:lang(ja).piece:after {
    content: "」";
}

cite:lang(en).piece:before {
    content: "“";
}

cite:lang(en).piece:after {
    content: "”";
}

cite:lang(en-GB).piece:before {
    content: "‘";
}

cite:lang(en-GB).piece:after {
    content: "’";
}

.no-cite-mark cite:before,
.no-cite-mark cite:after,
cite.no-cite-mark:before,
cite.no-cite-mark:after {
    content: "" !important;
}


/* 著重號（em） */
em:lang(zh),
em:lang(ja) {
    border-bottom: 2px dotted;
    font-style: normal;
    padding-bottom: .05em;
}

.han-js em:lang(zh),
.han-js em:lang(ja) {
    border-bottom: 0 none;
    padding-bottom: auto;
}

.textemphasis em:lang(zh) {
    text-emphasis:              circle;
        -moz-text-emphasis:     circle;
        -o-text-emphasis:       circle;
        -webkit-text-emphasis:  circle;
    text-emphasis-position:             under;
        -moz-text-emphasis-position:    under;
        -o-text-emphasis-position:      under;
        -webkit-text-emphasis-position: under;
}

.textemphasis em:lang(ja) {
    text-emphasis:              sesame;
        -moz-text-emphasis:     sesame;
        -o-text-emphasis:       sesame;
        -webkit-text-emphasis:  sesame;
}

.textemphasis em span.cjk.punc {
    text-emphasis:              none;
        -moz-text-emphasis:     none;
        -o-text-emphasis:       none;
        -webkit-text-emphasis:  none;
}

.textemphasis em span.cjk:after,
.textemphasis em span.latin:after {
    content: "" !important;
}

.no-textemphasis em:lang(zh) span.cjk,
.no-textemphasis em:lang(ja) span.cjk,
.no-textemphasis em:lang(zh) span.latin,
.no-textemphasis em:lang(ja) span.latin {
    font-style: inherit;
    position: relative;
}

.no-textemphasis em:lang(zh) span.cjk:after,
.no-textemphasis em:lang(ja) span.cjk:after,
.no-textemphasis em:lang(zh) span.latin:after,
.no-textemphasis em:lang(ja) span.latin:after {
    content: "・";
    display: inline-block;
    font-family: "Hiragino Mincho Pro", HiraMinPro-W3, "MS Mincho", MS-Mincho, serif !important;
    font-style: normal;
    font-weight: normal;
    height: .9em; /* prevent from displaying underline inherited from parental elements. */
    left: 0;
    line-height: 1em;
    margin: .8em 0 0 0;
    overflow: hidden;
    position: absolute;
    top: 0;
}

.no-textemphasis em:lang(ja) span.cjk:after,
.no-textemphasis em:lang(ja) span.latin:after {
    content: "、";
    margin: -1.2em 0 0 .35em;
    overflow: inherit;
}

.no-textemphasis em:lang(zh) span.latin:after {
    margin-left: -.25em;
}

.no-textemphasis em:lang(ja) span.latin:after {
    margin-left: 0em;
}

.no-textemphasis em:lang(zh) span.space:after,
.no-textemphasis em:lang(ja) span.space:after,
.no-textemphasis em:lang(zh) span.cjk.punc:after,
.no-textemphasis em:lang(ja) span.cjk.punc:after {
    content: "";
}


/* 文字變音標籤（i） */
i:lang(zh) {
    font-family: ff-latin-serif-italic, "Times New Roman", ff-cursive-han, cursive, "標楷體", serif;
    font-style: inherit;
}

i:lang(zh-TW), i:lang(zh-HK) {
    font-family: ff-latin-serif-italic, "Times New Roman", ff-cursive-han, cursive, "標楷體", serif;
}

i:lang(ja) {
    font-family: ff-latin-serif-italic, "Times New Roman", cursive, serif;
    font-style: inherit;
}

article blockquote i:lang(zh),
article blockquote i:lang(ja) {
    font-family: ff-latin-sans-italic, Helvetica, Arial, "Hiragino Sans GB", sans-serif;
    font-style: inherit;
}

.msie i:lang(zh) span.latin,
.msie i:lang(ja) span.latin {
    font-style: italic;
}


/* 文章內段落、清單重點（strong） */
article p strong:lang(zh),
article li strong:lang(zh) {
    font-family: sans-serif;
    font-weight: 600;
}


/* 行內引言（q） */
q:lang(zh),
q:lang(ja) {
    quotes: '「' '」' '『' '』' '「' '」' '『' '』' '「' '」' '『' '』';
}

q:lang(zh-CN), q:lang(zh-hans), q:lang(en) {
    quotes: '“' '”' '‘' '’' '“' '”' '‘' '’' '“' '”' '‘' '’';
}

q:lang(en-GB) {
    quotes: '‘' '’' '“' '”' '‘' '’' '“' '”' '‘' '’' '“' '”';
}


q:before {
    content: open-quote;
}

q:after {
    content: close-quote;
}

.no-quotes q:lang(zh):before,
.no-quotes q:lang(ja):before {
    content: "「";
}

.no-quotes q:lang(zh):after,
.no-quotes q:lang(ja):after {
    content: "」";
}

.no-quotes q.double:lang(zh):before,
.no-quotes q.double:lang(ja):before {
    content: "『";
}

.no-quotes q.double:lang(zh):after,
.no-quotes q.double:lang(ja):after {
    content: "』";
}


/* 文章內的區塊引用（blockquote） */
:lang(zh) article blockquote,
:lang(ja) article blockquote {
    margin: 1.5em 0 1.5em 2em;
    font-family: Times, "Times New Roman", ff-cursive-han, cursive, "標楷體", serif;
    width: auto;
}

article blockquote:lang(ja) {
    font-family: Times, "Times New Roman", cursive, serif;
}


/* 漢字註音（ruby） */
ruby rp {
    display: none;
}

ruby rt {
    font-size: .5em;
    line-height: normal;
}

ruby rt:before {
    content: "（";
}

ruby rt:after {
    content: "）";
}

rt:empty:before,
rt:empty:after {
    content: "";
}

.han-js ruby rt:before,
.han-js ruby rt:after {
    content: "";
}

ruby {
    display: inline-block;
    line-height: 2em;
}

.webkit ruby {
    display: inline;
}

.han-js ruby,
.han-js ruby .rt {
    text-indent: 0;
}

.han-js ruby .rb {
    display: inline-block;
    padding-top: .5em;
    position: relative;
    text-align: center;
}

.han-js.msie ruby .rb {
    display: block;
    float: left;
}

.han-js ruby .rt {
    font-size: .5em;
    left: 0;
    line-height: normal;
    padding: 0 .05em;
    position: absolute;
    text-align: center;
    top: 0;
    white-space: nowrap;
}

/* 國語注音符號（直式） */
.han-js ruby.mps {
    display: inline;
    vertical-align: top;
}

.han-js.webkit ruby.mps,
.han-js.msie ruby.mps {
    display: inline-block;
}

.han-js ruby.mps span.rb {
    padding-top: 0;
}

.han-js ruby.mps .rt {
    display: inline-block;
    font-family: ff-zhuyin, "標楷體", DFKaiShu-SB-Estd-BF, cursive, serif;
    font-size: 1em;
    line-height: .9 !important;
    margin: -.5em -.2em 0 -.5em !important;
    position: static !important;
    transform:              scale(.6);
        -moz-transform:     scale(.6);
        -ms-transform:      scale(.6);
        -o-transform:       scale(.6);
        -webkit-transform:  scale(.6);
    vertical-align: middle;
    width: 1.5em;
    white-space: pre-wrap;
    word-break: break-all /* MsIE */;
}

.han-js.msie-old ruby.mps .rt,
.han-js.ie-8 ruby.mps .rt {
    font-size: .6em;
}

.han-js ruby.mps rt:empty,
.han-js ruby.mps .rt:empty {
    width: auto;
}

.han-js ruby.mps span.tone {
    bottom: .6em;
    display: inline-block;
    position: absolute;
    right: -.4em;
}

.han-js ruby.mps span.tone-0 {
    bottom: auto;
    margin-top: -.75em;
    right: .5em;
}

.webkit ruby.mps span.tone-0 {
    bottom: auto;
    margin-top: -.7em;
    right: .25em;
}

.msie ruby.mps span.tone {  bottom: 3em;  font-size: .6em;  }
.msie ruby.mps span.tone-0 {  bottom: auto;  font-size: .6em;  }

/* 橫式注音符號 */
ruby.mps-ltr rt,
ruby.mps-ltr .rt {
    font-family: STKaiti, Kai, cursive, serif;
}


/* 代碼（code） */
code:lang(zh),
code:lang(ja) {
    font-family: monospace, sans-serif;
}






























